#
class FooClass(object):
	"""my very first class: FooClass"""
	version=0.1	#class (data) attribute
	
	def __init__(self,nm='John Doe'):
		"""constructor"""
		self.name=nm	#class instance (data) attribute
		print("Created a class instance for ",nm)
	def showName(self):
		"""display instance attribute and class name"""
		print('Your name is ',self.name)
		print('My name is',self.__class__.__name__)
	def showVer(self):
		"""display class(static) attribute"""
		print(self.version)	#references FooClass.Version
	def addMe2Me(self,x):	#does not use 'self'
		"""apply+operation to argument"""
		return x+x;

print("foo1 = FooClass()")
foo1 = FooClass()
print("foo1.showName()")
foo1.showName()
print("foo1.showVer()")
foo1.showVer()
print(foo1.addMe2Me(5))
print(foo1.addMe2Me('xyz'))

foo2=FooClass('Jane Smith')
foo2.showName()